package com.fdb.efp.nls.service.dao;

import java.util.List;

import com.fdb.efp.nls.service.domain.queue.NlsProcessBiz;
import com.fdb.efp.nls.service.vo.queue.NlsProcessBizVO;
import org.apache.ibatis.annotations.Param;

/**
 * DAO interface:网贷业务过程
 * 
 * @author huangwb
 * @since 2018年12月27日 上午8:33:47
 * @version 1.0
 */
public interface NlsProcessBizDao {

	public int insertNlsProcessBiz(NlsProcessBiz nlsProcessBiz);

	public int deleteByPk(NlsProcessBiz nlsProcessBiz);

	public int updateByPk(NlsProcessBiz nlsProcessBiz);

	public NlsProcessBiz queryByPk(NlsProcessBiz nlsProcessBiz);

	public List<NlsProcessBiz> queryAllOwnerByPage(NlsProcessBizVO nlsProcessBiz);

	public List<NlsProcessBiz> queryAllCurrOrgByPage(NlsProcessBizVO nlsProcessBiz);

	public List<NlsProcessBiz> queryAllCurrDownOrgByPage(NlsProcessBizVO nlsProcessBiz);

	public List<NlsProcessBiz> queryAllCurrOwnerPrdByPage(NlsProcessBizVO nlsProcessBiz);


	/**
	 * 将T-1的数据插入到历史表中
	 * 
	 * @param currAppDate
	 * @return
	 * @author huangwb
	 * @since 2019年1月3日 上午11:05:53
	 * @version 1.0
	 */
	public int deleteTMinus1DData(@Param("currAppDate") String currAppDate);

	/**
	 * 分页查询列表数据
	 * 
	 * @param nlsProcessBiz
	 * @return
	 * @author qiuyf
	 * @since 2019年1月10日 下午8:07:53
	 * @version 1.0
	 */
	public List<NlsProcessBiz> queryListByConditionByPage(NlsProcessBizVO nlsProcessBiz);

	/**
	 * 根据队列任务状态查询网贷业务过程表
	 * 
	 * @param queueTaskState
	 * @return
	 * @author huangwb
	 * @since 2019年1月24日 下午3:05:59
	 * @version 1.0
	 */
	public List<String> queryProcessBizByQueueTaskState(@Param("queueTaskState") String queueTaskState);

	/**
	 * 查看当前用户对应的数据 <br>
	 * 
	 * @param nlsProcessBizVo
	 * @return
	 * @author huangwb
	 * @since 2019年3月5日 下午7:23:46
	 * @date 2019年3月5日 下午7:23:46
	 * @version 0.1
	 */
	public List<NlsProcessBiz> queryAllByLevelOneByPage(NlsProcessBizVO nlsProcessBizVo);

	/**
	 * 查看当前用户及所属机构对应的数据 <br>
	 * 
	 * @param nlsProcessBizVo
	 * @return
	 * @author huangwb
	 * @since 2019年3月5日 下午7:23:57
	 * @date 2019年3月5日 下午7:23:57
	 * @version 0.1
	 */
	public List<NlsProcessBiz> queryAllByLevelTwoByPage(NlsProcessBizVO nlsProcessBizVo);

	/**
	 * 查看当前用户所在机构及下属机构对应的数据 <br>
	 * 
	 * @param nlsProcessBizVo
	 * @return
	 * @author huangwb
	 * @since 2019年3月5日 下午7:24:03
	 * @date 2019年3月5日 下午7:24:03
	 * @version 0.1
	 */
	public List<NlsProcessBiz> queryAllByLevelThreeByPage(NlsProcessBizVO nlsProcessBizVo);

	/**
	 * 预留，便于后续自定义 <br>
	 * 
	 * @param nlsProcessBizVo
	 * @return
	 * @author huangwb
	 * @since 2019年3月5日 下午7:24:08
	 * @date 2019年3月5日 下午7:24:08
	 * @version 0.1
	 */
	public List<NlsProcessBiz> queryAllByLevelFourByPage(NlsProcessBizVO nlsProcessBizVo);

	/**
	 * 预留，便于后续自定义 <br>
	 * 
	 * @param nlsProcessBizVo
	 * @return
	 * @author huangwb
	 * @since 2019年3月5日 下午7:24:19
	 * @date 2019年3月5日 下午7:24:19
	 * @version 0.1
	 */
	public List<NlsProcessBiz> queryAllByLevelFiveByPage(NlsProcessBizVO nlsProcessBizVo);
	/**
	 * 
	 * @param nlsProcessBiz
	 * @return 
	 * @author zhoucs1
	 * @since 2019年4月18日 上午8:07:53
	 * @version 1.0
	 */
	public List<NlsProcessBiz> queryListByCondition(NlsProcessBizVO nlsProcessBiz);


}
